#ifndef _GAME_H_
#define _GAME_H_
 
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <string>
#include "Camera.h"
#include "Cursor.h"
#include "Map.h"
#include "Unit.h"
#include "Knight.h"
using namespace sf;


class Game {
    private:
        RenderWindow &app;
        int width;
        int height;

        SpriteManager spriteManager;

        Font font;
        String actionMode;
        Camera camera;
        Cursor cursor;
        Map map;
        std::vector<Unit*> units;
        Unit *selectedUnit;
        std::vector<Vector2i> currMoves;
        Sprite tileOverlay;
        Sprite moveOverlay;
        Sprite attackOverlay;
        Sprite rotateOverlay;
        int actionType;


    public:
        Game(RenderWindow &app);
        ~Game();
        void HandleEvent(Event &event);
        void Init();
        void End();
        void Update(float dt);
        void Render(RenderWindow &app);
};
 
#endif

